iT邦幫忙

2024 iThome 鐵人賽

DAY 10
0
Security

資安新手的試煉之路系列 第 10

資安新手的試煉之路 Day 10

  • 分享至 

  • xImage
  •  

今天我們來介紹現代密碼學~


現代密碼學

定義與背景

現代密碼學(Modern Cryptography)是信息安全領域中用來保障數據機密性、完整性、認證和不可否認性的技術。與古典密碼學不同,現代密碼學依賴於數學理論和計算難題(如大數分解、離散對數等)來確保加密過程的安全性。現代密碼學在計算機科學中得到了廣泛應用,成為網路安全、電子商務、數據隱私等領域的基礎。

主要目標

現代密碼學的主要目標包括以下幾個方面:

  1. 機密性(Confidentiality):確保未經授權的用戶無法讀取加密的數據。
  2. 完整性(Integrity):保證數據未被篡改,並能夠檢測出潛在的數據修改。
  3. 認證(Authentication):確認信息的來源是可信的。
  4. 不可否認性(Non-repudiation):發送者不能否認自己曾經發送過某個消息。

現代密碼學中的關鍵技術

  1. 對稱加密(Symmetric Encryption)
    對稱加密是指加密和解密都使用相同的密鑰。它因為速度快且易於實現,常用於大數據量的加密。常見的對稱加密算法包括:

    • AES(Advanced Encryption Standard):目前被廣泛使用的加密標準,具有較高的安全性,密鑰長度通常為128、192或256位。AES使用分組加密方式,將明文分為固定大小的區塊進行加密。
    • DES(Data Encryption Standard):最早的對稱加密標準之一,因為密鑰長度過短(56位),如今被視為不安全,已被AES取代。
    • BlowfishTwofish:這兩種對稱加密算法旨在提供AES的替代方案,並且具有較高的效率和靈活的密鑰長度選擇。

    應用場景:對稱加密通常應用於加密大量數據(如磁盤加密、VPN通信),或者在雙方已經安全交換密鑰的情況下進行快速加密。

  2. 非對稱加密(Asymmetric Encryption)
    非對稱加密使用一對不同的密鑰:公開密鑰(加密用)和私有密鑰(解密用)。它主要應用於密鑰交換和數字簽名。常見的非對稱加密算法包括:

    • RSA(Rivest-Shamir-Adleman):基於大數分解難題的非對稱加密算法,密鑰通常為2048位或更高。RSA常用於數字簽名和密鑰交換。
    • ECC(Elliptic Curve Cryptography):基於橢圓曲線離散對數問題,ECC相較於RSA具有更高的安全性,並且在相同安全性下使用更短的密鑰,從而提高效率。
    • Diffie-Hellman 密鑰交換:這是一種非對稱密鑰交換協議,用來讓雙方安全地協商生成對稱密鑰,常用於HTTPS和VPN等安全通信協議中。

    應用場景:非對稱加密廣泛應用於數字證書、SSL/TLS協議中的密鑰交換、電子郵件加密(如PGP),以及數字簽名技術。

  3. 雜湊函數(Hash Functions)
    雜湊函數是單向函數,它將任意長度的輸入轉換為固定長度的輸出,通常用於數據完整性校驗和數字簽名中。常見的雜湊函數包括:

    • SHA-2(Secure Hash Algorithm 2):包括SHA-224、SHA-256、SHA-384和SHA-512,這些是目前最常用的安全雜湊算法。
    • SHA-3:最新的安全雜湊標準,基於海綿結構設計,相比於SHA-2在抗攻擊性上更具優勢。
    • MD5:雖然過去被廣泛使用,但由於存在碰撞攻擊的漏洞,現在已被認為不安全,不再推薦使用。

    應用場景:雜湊函數常用於密碼存儲(例如哈希密碼後存入數據庫),數據完整性校驗(如檢測文件傳輸中的誤碼),以及數字簽名中的消息摘要。

  4. 數字簽名(Digital Signatures)
    數字簽名技術用於確認消息的真實性和完整性。它基於非對稱加密,發送者用自己的私鑰對消息進行簽名,接收者用發送者的公開密鑰驗證簽名。常見的數字簽名算法有:

    • RSA數字簽名:利用RSA的私鑰進行簽名,接收者使用公開密鑰驗證。
    • DSA(Digital Signature Algorithm):一種基於離散對數問題的簽名算法,常用於數據簽名和驗證。
    • ECDSA(Elliptic Curve Digital Signature Algorithm):一種基於橢圓曲線的數字簽名算法,比傳統的RSA簽名效率更高,適合資源受限的環境(如移動設備)。

    應用場景:數字簽名在電子商務、數據傳輸中的文件認證、軟件分發(如驗證軟件更新的完整性和來源)中廣泛應用。

  5. 密鑰交換(Key Exchange)
    密鑰交換是雙方在不安全的信道中安全地協商共享密鑰的過程。Diffie-Hellman是最早的密鑰交換協議,基於離散對數問題,並且不需要雙方事先共享密鑰。

    • Diffie-Hellman密鑰交換:雙方公開各自的參數,並最終生成一個相同的共享密鑰,該密鑰用於後續的對稱加密通信。
    • Elliptic Curve Diffie-Hellman(ECDH):基於橢圓曲線的密鑰交換協議,相較於傳統的Diffie-Hellman,ECDH使用更短的密鑰來提供相同級別的安全性。

    應用場景:密鑰交換協議主要應用於SSL/TLS協議中,用於瀏覽器和服務器之間安全地生成對稱加密密鑰,保證網頁數據傳輸的安全性。

現代密碼學中的攻擊方法

  1. 暴力破解(Brute Force Attack)
    通過嘗試所有可能的密鑰或密碼進行破解,暴力破解通常對於短密鑰或弱密碼有效。現代加密算法(如AES)設計時考慮了足夠長的密鑰來防禦這種攻擊,但對於較弱的雜湊函數(如MD5)和簡單密碼,暴力破解依然有效。

  2. 中間人攻擊(Man-in-the-Middle Attack, MITM)
    攻擊者通過攔截雙方的通信來竊取信息或偽造消息。這類攻擊可以針對密鑰交換協議(如未加密的Diffie-Hellman)發動,從而劫持會話或竊取敏感數據。

  3. 旁路攻擊(Side-Channel Attack)
    旁路攻擊不直接針對加密算法本身,而是通過監聽設備的物理參數(如電磁波、功耗、時間延遲等)來推斷密鑰或破解加密系統。這類攻擊特別針對硬件實現中的漏洞。

  4. 碰撞攻擊(Collision Attack)
    針對雜湊函數的攻擊,攻擊者試圖找到兩個不同的輸入,能夠生成相

同的雜湊值。對於MD5等弱雜湊算法,已經出現了實際的碰撞攻擊,這也是為何MD5已經不再被推薦使用。

現代密碼學的應用

現代密碼學在日常生活和各行業中無處不在:

  • 網路通信:SSL/TLS協議使用現代密碼學來保護互聯網上數據傳輸的安全性,保證使用者的隱私和數據不被篡改。
  • 電子支付和電子商務:通過數字簽名和加密技術,確保交易的真實性和數據的機密性。
  • 區塊鏈技術:比特幣和其他加密貨幣依賴現代密碼學來保護交易數據,確保不可篡改和匿名性。

結論

現代密碼學不僅是信息安全的基石,還推動了互聯網時代的快速發展。隨著新型攻擊方法的出現和計算能力的提升,密碼學算法也在不斷演變。理解和掌握現代密碼學技術對於應對日益增長的網絡安全威脅至關重要。


上一篇
資安新手的試煉之路 Day 9
下一篇
資安新手的試煉之路 Day 11
系列文
資安新手的試煉之路29
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言